﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Negocio.Clases_BL;
using Capa_Entidad;
public partial class Ventas_wfEmpleadoListado : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            //ASPxButton3.Attributes.Add("language", "javascript");
            //ASPxButton3.Attributes.Add("onclick", "ShowMensaje();");
            //ASPxButton3.Attributes.Add("onclick", "return confirm('Esta Seguro de Eliminar el Registro seleccionado?');");
            //cargar_Grid();
        }
    }
    protected void ASPxButton1_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "C";//C de Crear
              
        Response.Redirect("wfEmpleado.aspx", true);
    }
    protected void ASPxButton2_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "M";//M de Modificar
        Session["IDEmpleado"] = dgEmpleado.GetRowValues(dgEmpleado.FocusedRowIndex, "EMP_ID_EMPLEADO");
        
        Response.Redirect("wfEmpleado.aspx", true);
    }
    //protected void ASPxButton3_Click(object sender, EventArgs e)
    //{
    //    Session["Operacion"] = "E";//E de Eliminar
    //    Session["IDEmpleado"] = 0;

    //    if (dgEmpleado.FocusedRowIndex == -1)
    //    {
    //        Util.showmsg("No hay registro seleccionado!!!", this.Page);
    //        return;
    //    }
    //    Session["IDPaciente"] = dgEmpleado.GetRowValues(dgEmpleado.FocusedRowIndex, "EMP_ID_EMPLEADO");



    //    clsGen_EmpleadoBL BL_Empleado = new clsGen_EmpleadoBL();
    //    GEN_EMPLEADO ENT_Empleado = new GEN_EMPLEADO();
    //    ENT_Empleado.EMP_ID_EMPLEADO = (Int32)Session["IDPaciente"];

    //    if (BL_Empleado.Eliminar(ENT_Empleado))
    //    {
    //      ObjectDataSource1.DataBind();
    //        //cargar_Grid();
    //        Util.showmsg("Empleado Eliminado!!!", this.Page);
    //        Response.Redirect("wfEmpleadoListado.aspx", true);
    //    }

    //    else
    //    {
    //        Util.showmsg("Error: No Se pudo Eliminar Cita", this.Page);
    //    }

    //}

    //void cargar_Grid()
    //{ 
    //       clsGen_EmpleadoBL BL_Empleado = new clsGen_EmpleadoBL();
    //       var consulta = from P in BL_Empleado.listar()
    //                      select new
    //                      {
    //                          P.EMP_ID_EMPLEADO,
    //                          P.EMP_APELLIDO_PATERNO,
    //                          P.EMP_APELLIDO_MATERNO,
    //                          P.EMP_NOMBRES,
    //                          P.EMP_DNI,
    //                          P.EMP_CODIGO_PLANILLA,
    //                          P.EMP_FECHA_INGRESO,
    //                         P.GEN_TIPO_ESTADO_CIVIL.TEC_DESCRIPCION,
    //                         P.GEN_TIPO_GRADO_INSTRUCCION.TGI_DESCRIPCION,
    //                         P.GEN_TIPO_CONDICION_TRABAJO.TCT_DESCRIPCION,
    //                         P.GEN_TIPO_EMPLEADO.TIPE_DESCRIPCION,
                              
    //                      };

    //       dgEmpleado.DataSource = consulta.ToList();
    //       dgEmpleado.DataBind();

    //       //foreach (var item in collection)
    //       //{
               
    //       //}
    
    //}

    protected void btnAnulacion_Click(object sender, EventArgs e)
    {
        Session["Operacion"] = "E";//E de Eliminar
        Session["IDEmpleado"] = 0;

        if (dgEmpleado.FocusedRowIndex == -1)
        {
            //Util.showmsg("No hay registro seleccionado!!!", this.Page);
            lblMensaje.Text = "No hay registro seleccionado!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;
        }
         Session["IDEmpleado"] = dgEmpleado.GetRowValues(dgEmpleado.FocusedRowIndex, "EMP_ID_EMPLEADO");

        clsGen_EmpleadoBL BL_Empleado = new clsGen_EmpleadoBL();
        GEN_EMPLEADO ENT_Empleado = new GEN_EMPLEADO();
        ENT_Empleado.EMP_ID_EMPLEADO = (Int32) Session["IDEmpleado"];
        //valida si esta como medico
        clsMedicoBL medico = new clsMedicoBL();
        var consulta = from P in medico.listar()
                       where P.EMP_ID_EMPLEADO == Convert.ToInt32(Session["IDEmpleado"])
                       select P;
        if (consulta.Count() > 0)
        {
            //Util.showmsg("No se puede eliminar empleado por que esta asignado como Medico", this.Page);
            lblMensaje.Text = "No se puede eliminar empleado por que esta asignado como Medico";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            return;        
        }


        if (BL_Empleado.Eliminar(ENT_Empleado))
        {
            dgEmpleado.DataSource = null;
            dgEmpleado.DataBind();
            ObjectDataSource1.DataBind();
            //cargar_Grid();
            //Util.showmsg("Empleado Eliminado!!!", this.Page);
            lblMensaje.Text = "Empleado Eliminado!!!";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            //Response.Redirect("wfEmpleadoListado.aspx", true);
        }
        else
        {
            lblMensaje.Text = "Error: No Se pudo Eliminar el Empleado";
            ScriptManager.RegisterStartupScript(this, typeof(Page), "scriptkey", "pcMensaje.Show();", true);
            //Util.showmsg("Error: No Se pudo Eliminar el Empleado", this.Page);
        }
    }
}